/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.cx1.service.utils.scheduled;

import java.util.Date;

/**
 *
 * @author ECH
 */
public class ScheduledServices {
    
    public static TSMockDSServices mockDSServices = new TSMockDSServices();
    public static TSListingServices listingServices = new TSListingServices();
    public static TSEmailServices emailServices = new TSEmailServices();
    
    
    
    //CX: MockDS Services | Mock DS Backup Service
    
    public static void startMockDSBackupService(Date date, long interval) {        
        mockDSServices.startBackupService(date, interval);
    }
    
    public static void stopMockDSBackupService() {        
        mockDSServices.stopBackupService();
    }
    
    public static boolean isMockDSBackupServiceRunning() {
        return mockDSServices.isBackupServiceRunning();
    }
    
    public static Date getMockDSBackupServiceStartDate() {
        return mockDSServices.getBackupServiceStartDate();
    }
    
    public static long getMockDSBackupServiceInterval() {
        return mockDSServices.getBackupServiceInterval();
    }
        
    
    
    
    //CX: Email Services | Send Email Invite Service
    
    public static void startSendEmailInviteService(Date date, long interval) {        
        emailServices.startSendEmailInviteService(date, interval);
    }
    
    public static void stopSendEmailInviteService() {  
        emailServices.stopSendEmailInviteService();
    }
        
    public static boolean isSendEmailInviteServiceRunning() {
        return emailServices.isSendEmailInviteServiceRunning();
    }
    
    public static Date getSendEmailInviteServiceStartDate() {
        return emailServices.getSendEmailInviteServiceStartDate();
    }
    
    public static long getSendEmailInviteServiceInterval() {
        return emailServices.getSendEmailInviteServiceInterval();
    }
        
    public static Date getSendEmailInviteServiceLastRun() {
        return emailServices.getTaskSendEmailInvite().getLastRun();
    }
    
    
    
    
    
    //CX: Listing Services | Listing Expiry Check Service
    
    public static void startListingExpiryCheckService(Date date, long interval) {        
        listingServices.startExpiryCheckService(date, interval);
    }
    
    public static void stopListingExpiryCheckSService() {        
        listingServices.stopExpiryCheckService();
    }
    
    public static boolean isListingExpiryCheckServiceRunning() {
        return listingServices.isExpiryServiceRunning();
    }
    
    public static Date getListingExpiryCheckServiceStartDate() {
        return listingServices.getExpiryServiceStartDate();
    }
    
    public static long getListingExpiryCheckServiceInterval() {
        return listingServices.getExpiryServiceInterval();
    }
        
    public static Date getListingExpiryCheckServiceLastRun() {
        return listingServices.getTaskCheckListingAvailability().getLastRun();
    }
    
    
    
    //CX: Listing Services | Listing Stats Service
    
    public static void startListingStatsService(Date date, long interval) {        
        listingServices.startListingStatsService(date, interval);
    }
    
    public static void stopListingStatsService() {        
        listingServices.stopListingStatsService();
    }
    
    public static boolean isListingStatsServiceRunning() {
        return listingServices.isStatsServiceRunning();
    }
    
    public static Date getListingStatsServiceStartDate() {
        return listingServices.getStatsServiceStartDate();
    }
    
    public static long getListingStatsServiceInterval() {
        return listingServices.getStatsServiceInterval();
    }
        
    public static Date getListingStatsServiceLastRun() {
        return listingServices.getTaskSendListingStats().getLastRun();
    }
    
    
    
    //CX: Listing Services | Listing Boost Service
    
    public static void startListingBoostService(Date date, long interval) {        
        listingServices.startListingBoostService(date, interval);
    }
    
    public static void stopListingBoostService() {        
        listingServices.stopListingBoostService();
    }
    
    public static boolean isListingBoostServiceRunning() {
        return listingServices.isBoostServiceRunning();
    }
    
    public static Date getListingBoostServiceStartDate() {
        return listingServices.getBoostServiceStartDate();
    }
    
    public static long getListingBoostServiceInterval() {
        return listingServices.getBoostServiceInterval();
    }
        
    public static Date getListingBoostServiceLastRun() {
        return listingServices.getTaskSendListingBoost().getLastRun();
    }
    
    
    
}
